.\"                                      Hey, EMACS: -*- nroff -*-
.\" First parameter, NAME, should be all caps
.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
.\" other parameters are allowed: see man(7), man(1)
.TH WMINPUT 1 "janvier 18, 2007"
.\" Please adjust this date whenever revising the manpage.
.\"
.\" Some roff macros, for reference:
.\" .nh        disable hyphenation
.\" .hy        enable hyphenation
.\" .ad l      left justify
.\" .ad b      justify to both left and right margins
.\" .nf        disable filling
.\" .fi        enable filling
.\" .br        insert line break
.\" .sp <n>    insert n+1 empty lines
.\" for manpage-specific macros, see man(7)
.SH NAME
wminput \- an event driver for the wiimote
.SH SYNOPSIS
.B wminput
.RI [ options ]
.br
.SH DESCRIPTION
This manual page documents briefly the
.B wminput
command.
.PP
.\" TeX users may be more comfortable with the \fB<whatever>\fP and
.\" \fI<whatever>\fP escape sequences to invode bold face and italics, 
.\" respectively.
\fBwminput\fP is a program that provides an event driver for the wiimote, supporting all buttons (except Power) and pointer tracking, and featuring a tracking algorithm plugin architecture.
.PP
Your kernel must be configured with uinput support (INPUT_UINPUT, or Device Drivers/Input Device Support/Miscellaneous Drivers/User Level Driver Support under menuconfig).  Compile into the kernel or as a module.  See http://gentoo-wiki.com/HOWTO_Compile_a_Kernel_Manually for information on kernel compilation.
By default, some (most? all?) udev configurations set up a uinput device file readable only by root.  Using wminput as a user other than root requires configuration udev to change the permissions on uinput.  Place the following line in a file in /etc/udev/rules.d (see the documentation for your distro for the recommended file for local rules) to allow anyone on the system to use uinput:
.PP
KERNEL=="uinput", MODE="0666"
.PP
A more secure method uses the following line to allow anyone in <group> to use wminput, and adds only the desired users to <group>:
.PP
KERNEL=="uinput", GROUP="<group>"
.PP
A uinput group can be created specifically for this purpose, or another existing group such as wheel can be used.
.PP
See usr/share/doc/wminput/wminput.conf.sample for an example wminput configuration file.  Copy this file to ~/.CWiid/wminput.conf and change as desired.
.PP
Getting X to recognize non-standard key symbols, and mapping actions to those symbols, is not automatic.  An excellent tutorial at http://gentoo-wiki.com/HOWTO_Use_Multimedia_Keys can help you set this up.  An overview of the process (see the HOWTO for more information):
.br
1.Edit ~/.CWiid/wminput.conf
.br
2.Use xev, wminput, and your wiimote to find out if the key symbols are already mapped, and find the key codes if they are not.
.br
3.If the codes are not mapped to the appropriate symbols, edit ~/.Xmodmap, and use xmodmap to map them.  (A copy of my ~/.Xmodmap is included in CWiid/doc)
.br
4.Use xbindkeys or a window manager-specific utility to map the key symbols to specific actions.
.PP
wminput tracking plugins are, by default, installed to /usr/lib/CWiid/plugins.  Plugins may also be placed in ~/.CWiid/plugins, and plugins placed here will take precedence.

.SH OPTIONS
.TP
.B \-h
Show summary of options.
.TP
.B \-v, --version
Output version information and exit.
.TP
.B \-c, --config [file]
Choose config file to use.
.TP
.B \-d, --daemon
Implies -q, -r, and -w.
.TP
.B \-q, --quiet
Reduce output to errors
.TP
.B \-r, --reconnect [wait]
Automatically try reconnect after wiimote disconnect.
.TP
.B \-w, --wait
Wait indefinitely for wiimote to connect.
.TP
.B bdaddr
Specify the wiimote bluetooth address. The bluetooth device address (bdaddr) of the wiimote can be specified on the command-line, or through the WIIMOTE_BDADDR environment variable, in the that order of precedence.  If neither is given, the first wiimote found by hci_inquiry will be used.

.SH SEE ALSO
.BR wmgui (1),
.br
.SH AUTHOR
wminput was written by L. Donnie Smith <donnie.smith@gatech.edu>
.PP
This manual page was written by Romain Beauxis <toots@rastageeks.org>,
for the Debian project (but may be used by others).
